package aplicacion;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Diego Antonio
 */


import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.*;
import javax.swing.JOptionPane;

public class ConexionMySQL {

    Connection conexion;
    Statement s;
    
    public ConexionMySQL()
    {
        
    }

    public Connection verificarConexion()
    {
        Connection conex=null;
        try
        {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conexion = DriverManager.getConnection("jdbc:mysql://localhost/MOVISTAR","root","");
            conex=conexion;

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return conex;
    }

    public void abrirConexion()
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conexion = DriverManager.getConnection("jdbc:mysql://localhost/MOVISTAR","root", "");
            s = conexion.createStatement(); 
        }
        catch (Exception e) 
        { 
            e.printStackTrace(); 
        } 
    }
    
    public ResultSet consultarRegistros(String tabla, String campos, String condiciones)// esto es para obtener una lista de registros
    {
        ResultSet encontrados=null;
        try
        {
            ResultSet rs = s.executeQuery("select "+campos+" from "+tabla+" "+condiciones+";");
            encontrados=rs;
        } 
        catch (SQLException ex)
        {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }
        return encontrados;
    }

    public void cerrarConexion()
    {
        try
        {
           conexion.close();
        }
        catch (Exception e) 
        { 
            e.printStackTrace(); 
        }
        
    }
    

    public void crearTabla()
    {

        try
        {
             System.out.println("  CREATE TABLE IF NOT EXISTS MOVISTAR_JOIN ( "
              + " movi_join_dni varchar(8) NOT NULL, "
              + " movi_join_nombres varchar(50) DEFAULT NULL, "
              + " movi_join_apellido_paterno varchar(50) DEFAULT NULL, "
              + " movi_join_apellido_materno varchar(50) DEFAULT NULL, "
              + " movi_join_sexo tinyint(1) NOT NULL, "
              + " PRIMARY KEY (movi_join_dni) "
              + " ) ENGINE=InnoDB DEFAULT CHARSET=latin1;");
             
            s.executeUpdate("  CREATE TABLE IF NOT EXISTS MOVISTAR_JOIN ( "
              + " movi_join_dni varchar(8) NOT NULL, "
              + " movi_join_nombres varchar(50) DEFAULT NULL, "
              + " movi_join_apellido_paterno varchar(50) DEFAULT NULL, "
              + " movi_join_apellido_materno varchar(50) DEFAULT NULL, "
              + " movi_join_sexo tinyint(1) NOT NULL, "
              + " PRIMARY KEY (movi_join_dni) "
              + " ) ENGINE=InnoDB DEFAULT CHARSET=latin1;");

        }
        catch (SQLException ex)
        {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

     public void eliminarTabla()
    {

        try
        {
            System.out.println("DROP TABLE MOVISTAR_JOIN;");
            s.executeUpdate("DROP TABLE MOVISTAR_JOIN;");
        }
        catch (SQLException ex)
        {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public void insertarTablas(String tabla, String campos, String valores, String condiciones)
    {
        try
        {
            System.out.println("INSERT INTO "+tabla+" "+campos+" "+valores+" "+condiciones+";");
            s.executeUpdate("INSERT INTO "+tabla+" "+campos+" "+valores+" "+condiciones+";");
        }
        catch (SQLException ex)
        {
            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
    
//    public int consultarTablas(String tabla, String campos, String condiciones)// esto es para verificar si son duplicados
//    {
//        int encontrados=0;
//        try {
//
//            Statement s = conexion.createStatement();
//            ResultSet rs = s.executeQuery("select "+campos+" from "+tabla+" "+condiciones+";");
//
//            while (rs.next())
//            {
//                encontrados++;
//            }
//
//        } catch (SQLException ex) {
//            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
//        }
//        return encontrados;
//    }
//
//

//
//    public int  modificarTablas(String tabla, String campos, String condiciones)
//    {
//        int errores=0;
//        try {
//
//            Statement s = conexion.createStatement();
//            s.executeUpdate("UPDATE  "+tabla+"  SET  "+campos+"  "+condiciones+" ;");
//
//        } catch (SQLException ex) {
//            errores++;
//            Logger.getLogger(ConexionMySQL.class.getName()).log(Level.SEVERE, null, ex);
//        }
//
//        return errores;
//    }
    
}
